package com.nightonke.boommenusample; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Pair; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import com.nightonke.boommenu.BoomButtons.ButtonPlaceEnum; import com.nightonke.boommenu.BoomMenuButton; import com.nightonke.boommenu.ButtonEnum; import com.nightonke.boommenu.Piece.PiecePlaceEnum; import java.util.ArrayList; import java.util.List; public class TextOutsideCircleButtonActivity extends AppCompatActivity { private BoomMenuButton bmb; private ArrayList<Pair> piecesAndButtons = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_outside_circle_button); bmb = (BoomMenuButton) findViewById(R.id.bmb); assert bmb != null; bmb.setButtonEnum(ButtonEnum.TextOutsideCircle); bmb.setPiecePlaceEnum(PiecePlaceEnum.DOT_1); bmb.setButtonPlaceEnum(ButtonPlaceEnum.SC_1); bmb.addBuilder(BuilderManager.getTextOutsideCircleButtonBuilder()); ListView listView = (ListView) findViewById(R.id.list_view); assert listView != null; listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1, getData())); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { bmb.setPiecePlaceEnum((PiecePlaceEnum) piecesAndButtons.get(position).first); bmb.setButtonPlaceEnum((ButtonPlaceEnum) piecesAndButtons.get(position).second); bmb.clearBuilders(); for (int i = 0; i < bmb.getPiecePlaceEnum().pieceNumber(); i++) bmb.addBuilder(BuilderManager.getTextOutsideCircleButtonBuilder()); } }); } private List<String> getData() { List<String> data = new ArrayList<>(); for (int p = 0; p < PiecePlaceEnum.values().length - 1; p++) { for (int b = 0; b < ButtonPlaceEnum.values().length - 1; b++) { PiecePlaceEnum piecePlaceEnum = PiecePlaceEnum.getEnum(p); ButtonPlaceEnum buttonPlaceEnum = ButtonPlaceEnum.getEnum(b); if (piecePlaceEnum.pieceNumber() == buttonPlaceEnum.buttonNumber() || buttonPlaceEnum == ButtonPlaceEnum.Horizontal || buttonPlaceEnum == ButtonPlaceEnum.Vertical) { piecesAndButtons.add(new Pair<>(piecePlaceEnum, buttonPlaceEnum)); data.add(piecePlaceEnum + " " + buttonPlaceEnum); if (piecePlaceEnum == PiecePlaceEnum.HAM_1 || piecePlaceEnum == PiecePlaceEnum.HAM_2 || piecePlaceEnum == PiecePlaceEnum.HAM_3 || piecePlaceEnum == PiecePlaceEnum.HAM_4 || piecePlaceEnum == PiecePlaceEnum.HAM_5 || piecePlaceEnum == PiecePlaceEnum.HAM_6 || piecePlaceEnum == PiecePlaceEnum.Share || buttonPlaceEnum == ButtonPlaceEnum.HAM_1 || buttonPlaceEnum == ButtonPlaceEnum.HAM_2 || buttonPlaceEnum == ButtonPlaceEnum.HAM_3 || buttonPlaceEnum == ButtonPlaceEnum.HAM_4 || buttonPlaceEnum == ButtonPlaceEnum.HAM_5 || buttonPlaceEnum == ButtonPlaceEnum.HAM_6) { piecesAndButtons.remove(piecesAndButtons.size() - 1); data.remove(data.size() - 1); } } } } return data; } }